import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from'../components/Login.vue'
import Home from'../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/users.vue'
import Rights from '../components/power/Rights.vue'
import Roles from '../components/power/Roles.vue'
import Cate from '../components/goods/Cate.vue'
import Params from '../components/goods/Params.vue'
import List from '../components/goods/List.vue'
import Add from '../components/goods/Add.vue'
import Order from '../components/order/Order.vue'
import Report from '../components/report/Report.vue'

Vue.use(VueRouter)

const routes = [
  { path : '/' , redirect : 'login' },
  { path : '/login'  , component : Login},
  { path : '/home'  , component : Home ,
  redirect:'/welcome',
  children:[
    { path:'/welcome' , component : Welcome},
    { path:'/users' , component : Users},
    { path : '/rights'  , component : Rights },
    { path : '/roles'  , component : Roles },
    { path : '/categories'  , component : Cate },
    { path : '/params'  , component : Params },
    { path : '/goods' , component : List },
    { path : '/goods/add' , component : Add },
    { path : '/orders' , component : Order },
    { path : '/reports' , component : Report }
    ]
  }
]

const router = new VueRouter({
  routes
})

//挂在路由导航守卫
router.beforeEach((to,from,next) => {
  // to将要访问的路径
  // from从哪个路径跳转而来
  // next是一个函数，表示放行
  // next（）   next（'/login'）两个放行方式  后者是强制跳转的路径

  //如果用户访问登录页  直接放行
  if(to.path === '/login'){
    return next()
  };
  //如果不是 就要获取token就是有权限的页面
  const tokenStr = window.sessionStorage.getItem('token')
  //判断获取的token是否存在
  if(!tokenStr){
    return next('/login')
  }else{
    next()
  }
})



export default router
